iT邦幫忙

2022 iThome 鐵人賽

DAY 3
0
自我挑戰組

多人連線遊戲背後的原理與實作系列 第 6

Day 06 - 認識網路通訊協定(UDP)

  • 分享至 

  • xImage
  •  

在上一篇文章中帶大家認識了其中一個網路通訊協定TCP,而今天這篇文章是要來介紹另外一個通訊協定UDP

一. 甚麼是UDP

UDP(User Datagram Protocol)又稱為使用者資料包協定,是屬於不可靠傳輸協定,跟TCP不同,UDP不需要三向交握(Three-way handshake),這樣的一個連線方式,UDP在傳送封包時,接收端不須回覆確認接收的訊息給發送端,也因此它並不能確保資料一定能送到目的地。

二. UDP的特性

跟TCP相比UDP少了嚴謹的通訊流程,這使得UDP的傳送速率可以更快速,但此協議是無法復原遺失的封包得,因此它沒辦法保證您所傳送資料的完整性。
而以下是UDP的幾點特性:

  1. 傳輸效率較高
  2. 無須與對方建立連線
  3. 無法確保資料到目的地後的完整性
  4. 資料不會造順序送達
  5. 無流量控制

三. 總結

當我們在選擇傳送封包要使用哪種通訊協定時,若你傳送的資料是不需要流量控制,且是可以接受部分封包遺失或不正確的話,那你就可以選擇使用UDP作為該封包的通訊協定,若該封包的資料是不能遺失或損毀的話,那你應該選擇TCP作為該封包的通訊協議。


上一篇
Day 05 - 認識網路通訊協定(TCP)
下一篇
Day 07 - 製作連線遊戲時會遇到的問題(網路延遲與封包丟失篇)
系列文
多人連線遊戲背後的原理與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言